'''
无名管道: 
1. int pipe(int fd[2]) (fd[1]为写入端， fd[0]为读出端)
2. 用于父子或兄弟进程间通信
3. 由于磁盘上的任何一个文件都需要一个文件名，所以在无名管道中建立的共享文件并没有保存到磁盘上，而是在高速缓冲中建立一个缓存文件
'''
import os
import time
 
fd  = os.pipe()
pid = os.fork()
 
if pid == 0:
    os.close(fd[1])
    while True:
        msg = os.read(fd[0], 1024)
        print msg
        if msg == 'q':
            os.close(fd[0])
            break
else:
    os.close(fd[0])
    while True:
        str1 = raw_input(">")
        os.write(fd[1], str1)
        if str1 == "q":
            os.close(fd[1])
            os.wait()
            break
        time.sleep(0.2)
